::|CONTENTS
- Instruments
- Making your tunes
- More Resources
- See Also
-- MAJOR modifications in the works. Consider this page under active construction! --
- retrokid104, 4/7/26
Here it is! The Nintendo Entertainment System's (or Family Computer, as it's otherwise known, if you also forget about tons of its bootleg clones) sounds are synonymous with the entire 8-bit/chiptune music community. Even then, while NES's 2A03 is certainly not the perfect retro sound chip, it's definitely the most popular one, and one of the most popular on BotB as well!
This article will mostly focus on writing .nsf music using only the base 2A03, in particular for the
nsf format.
Still not sure how to use it? Well, get armed, we're going!
UPDATE: As vanilla Famitracker is now outdated, we recommend you use
0CC-Famitracker or
DN-Famitracker.
Not a tracker fan?
Famistudio is a solid DAW-based alternative that still exports to .nsf, but this tutorial will primarily focus on Famitracker.
If you do wish to get a legacy build of the original Famitracker, though, you can still find it
here.
The Ricoh 2A03 is a five-channel chip. It features two Pulse channels, which have 16 values for volume and four values for duty (technically three, as duty 1 and duty 3 are identical), a Triangle channel which produces a simple triangle wave with no volume control, (TBC)
Instruments
Since Famitracker won't be even able to play a note without having
at least one instrument, create a new one. If you are using DN-Famitracker, there should be one pre-created when you start up a new module. Double-click on the newly-created instrument - then you're gonna meet the window where you can edit your instrument, and the properties for each of them are:
- Volume - ranges from 0 to 15.
- Arpeggio - quick note change; can use both positive and negative values, where 0 is the base note (i. e., the one you type in the pattern), and everything beyond that just shifts from it.
- Pitch - ditto, but for the tone frequencies which notes, i. e., vibrato effect can't exactly summarize.
- Hi-pitch - ditto, but for the higher speed.
- Duty/noise - sets the tone's duty and noise mode at the same time. On tone, it's 0 to 3 to change the waveform, while on noise, it's just 0 and 1.
Those are editable either through the visual or the manual editor. In case of the latter, here is how it works: all the values are to be separated by the space bar. To loop the sequence at a certain point, place the "I" symbol (no quotes) in place of the value. You can do the same thing to "release" the sequence, but this time, with the "/".
Also, if you're pretty new to Famitracker, it'd be wise not to have the same instrument cloned to feature different volumes or duty changes (unless you're writing for some really limited music drivers - but that's a story for another day).
First things first- you're going to want some
instruments!
To start, try these exercises out with the pulse channels:
1) Create a plain instrument and see how it sounds.
2) Create an instrument with the volume of "15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0" (remember, no quotes!).
3) Create an instrument with the duty of "| 0 1 2 3 2 1".
4) Create an instrument with the arpeggio of "| 0 3 7 12".
5) Create an instrument with the pitch of "| 0 -2 0 2".
By this point, you may have figured out what different values sound like on the Pulse channels. You may notice that not all macros do something on the other channels.
-
Triangle: The Triangle channel supports only pitch, hi-pitch, and arpeggio macros.
-
Noise: Noise supports all macros, except duty. In noise, Duty controls the noise type, switching between the traditional white noise and the grainy tonal noise.
-
DPCM: Nothing.
Making your tunes
Famitracker and its forks are very similar to most
FastTracker II-like trackers in terms of their commands and editing styles. The only major difference between them is that patterns are per-channel as opposed to global, not to mention you're working with the limitations of the NES.
General editing should be very familiar to anyone who's used a tracker before, and even n00bs can pick it up rather quickly.
Famitracker does have some specific commands that aren't featured in FT2. For a complete list, have a look at
this article.
More Resources
Samples
For a list of ripped game samples,
refer to this lyceum article.
See Also
tba